package br.com.sgbl.service;

import br.com.sgbl.bean.ItemPedido;
import br.com.sgbl.bean.Pedido;
import br.com.sgbl.dao.ItemPedidoDao;
import br.com.sgbl.dao.PedidoDao;
import java.sql.SQLException;
import java.util.List;

/**
 *
 * @author Leandro
 */
public class PedidoFacade {

    private PedidoDao pedidoDao;
    private ItemPedidoDao itemPedidoDao;

    public PedidoFacade() {
        pedidoDao = new PedidoDao();
        itemPedidoDao = new ItemPedidoDao();
    }

    public List listar() {
        try {
            return pedidoDao.listar();
        } catch (SQLException ex) {
            throw new RuntimeException(
                    "Erro de BD!\n" + ex.getMessage(), ex);
        } catch (Exception ex) {
            throw new RuntimeException(
                    "Erro desconhecido!\n" + ex.getMessage(), ex);
        }
    }

    public Pedido salvar(Pedido pedido) {
        try {
            return pedidoDao.salvar(pedido);
        } catch (SQLException ex) {
            throw new RuntimeException("Erro de BD!\n" + ex.getMessage(), ex);
        } catch (Exception ex) {
            throw new RuntimeException("Erro Desconhecido!\n" + ex.getMessage(), ex);
        }
    }

    public Pedido excluir(Pedido pedido) {
        try {
            return pedidoDao.excluir(pedido);
        } catch (SQLException ex) {
            throw new RuntimeException("Erro de BD!\n" + ex.getMessage(), ex);
        } catch (Exception ex) {
            throw new RuntimeException("Erro Desconhecido!\n" + ex.getMessage(), ex);
        }
    }

    public List listarItensSetorCozinha() {
        try {
            return itemPedidoDao.listarSetorCozinha();
        } catch (SQLException ex) {
            throw new RuntimeException(
                    "Erro de BD!\n" + ex.getMessage(), ex);
        } catch (Exception ex) {
            throw new RuntimeException(
                    "Erro desconhecido!\n" + ex.getMessage(), ex);
        }
    }
    
    public void itemEmAtendimento(ItemPedido itemPedido) {
        try {
            itemPedidoDao.itemEmAtendimento(itemPedido);
        } catch (SQLException ex) {
            throw new RuntimeException(
                    "Erro de BD!\n" + ex.getMessage(), ex);
        } catch (Exception ex) {
            throw new RuntimeException(
                    "Erro desconhecido!\n" + ex.getMessage(), ex);
        }
    }
}
